import openpyxl

# 1. 获取工作簿对象
workbook = openpyxl.load_workbook(r'..\Day27-data\student-score.xlsx')
print(workbook)
# 2. 通过工作簿对象获取工作表信息
sheet_name = workbook.sheetnames  # 获取所有工作表名称
print(sheet_name)
print(workbook.active)  # 获取当前处于活跃状态的工作表对象
print(workbook['第20小学'])  # 获取对应名称的工作表对象

print(workbook.worksheets)  # 获取所有的工作表对象，存储于列表中。
sheet = workbook.worksheets[0]  # 从列表中通过索引获取对象
print(sheet)

# 3. 通过工作表对象获取单元格信息
print(sheet.dimensions)  # 获取工作表的范围
print(sheet.max_row, sheet.max_column)

cell = sheet['A1']  # 通过坐标获取单元格对象
print(cell)
cell = sheet.cell(1, 1)  # 需要注意，该方法的行索引和列索引都是从1开始的，这是为了照顾用惯了Excel的人的习惯
print(cell)
# 获取行
row = sheet[2]  # 获取第n行的单元格对象，存储于元组中。
print(row)
# 获取列
col = sheet['B']  # 获取第n列的单元格对象，存储于元组
print(col)
print('*' * 150)
# 获取多行或多列
rows = sheet['A2:D4']  # 二维元组，元组中的元素是每行的单元格对象组成的元组
print(rows)

# 4. 通过单元格对象获取信息
print(cell.value)

print(row[0].value)
for cell in row:
    print(cell.value)

for row in rows:
    for cell in row:
        print(cell.value)


